package com.sz.mes.entity;

import java.util.Date;
import java.lang.Double;
import java.math.BigDecimal;
import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.validator.constraints.Length;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.sz.mes.entity.BaseCustomEntity;
import com.diboot.core.binding.query.BindQuery;
import com.diboot.core.binding.query.Comparison;
import com.diboot.core.util.D;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * 返工工单 Entity定义
 * @author hem
 * @version 1.0
 * @date 2024-10-26
 * Copyright © szhs
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("rework_technique")
public class ReworkTechnique extends BaseCustomEntity {

    private static final long serialVersionUID = 4098585173681855538L;

    /**
     * 工艺信息查询
     */
    @TableField()
    private Long techId;

    /**
     * 产出数量
     */
    @TableField()
    private Long output;

    /**
     * 好件产出
     */
    @TableField()
    private Long goodQuantity;

    /**
     * 工艺数量
     */
    @TableField()
    private Long techQuantity;

    /**
     * 工艺名称
     */
    @Length(max = 100, message = "工艺名称长度应小于100")
    @TableField()
    private String techName;

    /**
     * 标准工时
     */
    @TableField()
    private Long techTime;

    /**
     * 备选设备
     */
    @Length(max = 100, message = "备选设备长度应小于100")
    @TableField()
    private String equipment;

    /**
     * 实际生产设备
     */
    @Length(max = 100, message = "实际生产设备长度应小于100")
    @TableField()
    private String workEquipment;

    /**
     * 生产任务编号
     */
    @Length(max = 100, message = "生产任务编号长度应小于100")
    @TableField()
    private String taskNum;

    /**
     * 是否交班
     */
    @TableField()
    private Integer isChangeWork;

    /**
     * 工艺编号
     */
    @Length(max = 100, message = "工艺编号长度应小于100")
    @TableField()
    private String techNem;

    /**
     * 是否返工工序
     */
    @TableField()
    private Integer isRework;

    /**
     * 操作工
     */
    @Length(max = 100, message = "操作工长度应小于100")
    @TableField()
    private String userName;

    /**
     * 状态 0未完成1已完成2进行中
     */
    @TableField()
    private Integer state;

    /**
     * 是否生产中 0空闲1占用2挂起状态
     */
    @TableField()
    private Integer isUsed;

    /**
     * 开始时间
     */
    @TableField()
    private Date startTime;

    /**
     * 结束时间
     */
    @TableField()
    private Date endTime;

    /**
     * 排序
     */
    @TableField()
    private Integer sort;

    /**
     * 坏件产出
     */
    @TableField()
    private Long badQuantity;
}
